Skip to main content

πŸ”§ How to Rename a Linux User Safely (Files, Permissions & Services)

Need to rename a Linux user (like prometheus β†’ prometheus-user) without breaking file ownership or system services? Follow this step-by-step guide. πŸ–ͺ️


πŸ” 1. Rename the User​

sudo usermod -l prometheus-user prometheus

This changes the login name.


πŸ‘₯ 2. Rename the Group (if needed)​

sudo groupmod -n prometheus-user prometheus

Updates the group name.


πŸ“ 3. Move the Home Directory​

sudo usermod -d /var/lib/prometheus-user -m prometheus-user

πŸ—‚οΈ This moves the contents to the new directory.


πŸ›‘οΈ 4. Update File and Directory Ownership​

sudo find / -user prometheus -exec chown prometheus-user {} \; 2>/dev/null
sudo find / -group prometheus -exec chgrp prometheus-user {} \; 2>/dev/null

Reassigns files to the renamed user and group.


βš™οΈ 5. Update Systemd Service Files​

Open the systemd unit file:

sudo nano /etc/systemd/system/prometheus.service

Replace:

User=prometheus

With:

User=prometheus-user

Then reload systemd:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart prometheus

βœ… Confirm it’s working:

systemctl status prometheus

πŸ” 6. Update Credentials & Configs​

πŸ”‘ SSH Keys​

mv /home/prometheus/.ssh /home/prometheus-user/
chown -R prometheus-user:prometheus-user /home/prometheus-user/.ssh

βš™οΈ Environment & App Configs​

Check and update any relevant files:

  • /etc/environment
  • ~/.bashrc, ~/.profile
  • ~/.aws/credentials, .pem files

πŸ•’ Cron Jobs​

Edit or migrate cron jobs:

crontab -e -u prometheus-user

βœ… Summary​

πŸ” TaskπŸ’» Command / Step
Rename userusermod -l newname oldname
Rename groupgroupmod -n newgroup oldgroup
Move home directoryusermod -d /new/path -m newname
Update file ownershipfind / -user old -exec chown new {} \;
Update systemd serviceEdit unit file β†’ reload + restart
Move credentialsMove .ssh, .pem, configs & update permissions

⚠️ Tip: Always back up important data before making system-level changes.

πŸ’‘ Pro Tip: Avoid renaming critical service accounts on production systems without testing first.